package com.example.demo.controller;

import com.example.demo.model.User;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

@Controller //让 Spring 项目启动时，将这个注解下的类加载到容器中
@ResponseBody //使其返回的响应是数据，而非页面
@RequestMapping("/user") //注册路由
@Slf4j
public class UserController {

//    @RequestMapping("/message")
//    public void getUserMessage(String name, String age) {
//        System.out.println("name:" + name);
//        System.out.println("age:" + age);
//    }

//    @RequestMapping("/message")
//    public void getMessage(User user) {
//
//        System.out.println("id:" + user.getId());
//        System.out.println("name:" + user.getName());
//        System.out.println("age:" + user.getAge());
//
//    }

//    @RequestMapping("/time")
//    public void getTime(@RequestParam(value = "t1", required = false) String startTime,
//                        @RequestParam(value = "t2", required = false) String endTime) {
//        System.out.println("起始时间:" + startTime);
//        System.out.println("结束时间" + endTime);
//    }

//    @PostMapping("/message")
//    public String getMessage(@RequestBody User user) {
//        return user.toString();
//    }


//    @PostMapping("/urlValue/{name}/{age}")
//    public String getUrlValue(@PathVariable(value = "name", required = false) String name,
//                              @PathVariable("age") String age) {
//        return "name:" + name + ", age:" + age;
//    }

//    @PostMapping("/upfile")
//    public String upfile(@RequestPart("myfile") MultipartFile file) throws IOException {
//        String path = "D:\\其他\\滑稽2.webp";
//        file.transferTo(new File(path));
//        return path;
//    }

//    @GetMapping("/getCookie")
//    public String getCookie(HttpServletRequest request) {
//        Cookie[] cookies = request.getCookies();
//        for(Cookie ans : cookies) {
//            log.error("key:" + ans.getName() + ",value:" + ans.getValue());
//        }
//        return "get Cookie Success!";
//    }
//
//    @RequestMapping("setSession")
//    public String setSession(HttpServletRequest request) {
//        HttpSession session = request.getSession(true);
//        session.setAttribute("jay chou", "nb");
//        return "set Session Success!";
//    }
//
//
//    @RequestMapping("getSession")
//    public String getSession(HttpServletRequest request) {
//        HttpSession session = request.getSession(false);
//        if(session == null || session.getAttribute("jay chou") == null) {
//            return "当前会话参数错误";
//        }
//        return "get Session Success!";
//    }
//
//    @RequestMapping("getSessionEasy")
//    public String getSession(@SessionAttribute(value = "jay chou", required = false) String name) {
//        return name;
//    }
//
//    @RequestMapping("getJson")
//    public HashMap<String, Integer> resJson() {
//        HashMap<String, Integer> map = new HashMap<>();
//        map.put("zhangsan", 1);
//        map.put("lisi", 2);
//        map.put("wangwu", 3);
//        return map;
//    }



}
